<?php
// +----------------------------------------------------------------------
// | 幕小铺
// +----------------------------------------------------------------------
// | 版权所有 2016~2020 幕小铺科技（大连）有限公司
// +----------------------------------------------------------------------
// | 2020/03/14
// +----------------------------------------------------------------------

namespace app\erp\home;
use app\common\controller\AuthCheck;

/**
 * 评论管理
 * @package app\cms\admin
 */
class Evaluate extends AuthCheck{
    /**
     * 首页
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, data)
     */
    public function evaluate_index(){
        //参数接收
        $params 		= $this->getParams(0);//0 get 1 post
        $user_id    	    = intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $goods_id    		= intval(isset($params["goods_id"]) ? $params["goods_id"] : 0);
        $score    		    = isset($params["score"]) ? $params["score"] : '';
        $uid =$params["uid"]= intval(isset($params["user_uid"]) ? $params["user_uid"] : '0');
        $createTime    	    = isset($params["createTime"]) ? $params["createTime"] : '';
        //数据验证
        $Validate = validate('Evaluate', 'validate');
        if( !$Validate -> scene('evaluate_index') -> check($params) ){
            json_out(-1001, $Validate -> getError(), []);//验证失败
        }

        //逻辑处理
        $list = controller('Evaluatelogic', 'logic') -> evaluate_index($user_id, $goods_id, $score, $uid, $createTime);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], $list['message'], $list['data']);
        }else{
            json_out($list['code'], $list['message'], []);
        }
    }

    /**
     * 添加
     * @param goods_id 	            int     商品id
     * @param score 		        float   评分
     * @param content 		        string  内容
     * @param uid 		            int     评论人id
     * @param create_time 		    string  创建时间
     * @param update_time 		    string  编辑时间
     * @param evaluate_imgs 		array  评论图片（数组，最多9张）
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function add(){
        //参数接收
        $params 		    = $this->getParams(1);//0 get 1 post
        $params["evaluate_imgs"] = ['0'=>'http:baidu.com','1'=>'http:baidu12.com'];
        $user_id    	    = intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $goods_id    		= intval(isset($params["goods_id"]) ? $params["goods_id"] : 0);
        $sku_id    		    = intval(isset($params["sku_id"]) ? $params["sku_id"] : 0);
        $score    		    = isset($params["score"]) ? $params["score"] : '';
        $content    		= isset($params["content"]) ? $params["content"] : '';
        $uid    	        = intval(isset($params["uid"]) ? $params["uid"] : '0');
        $evaluate_imgs    	= isset($params["evaluate_imgs"]) ? $params["evaluate_imgs"] : '';
        $spbz_score    		= isset($params["spbz_score"]) ? $params["spbz_score"] : '';
        $qifw_score    		= isset($params["qifw_score"]) ? $params["qifw_score"] : '';
        $order_id    		= isset($params["order_id"]) ? $params["order_id"] : '';
        $evaluate_img    	= isset($params["evaluate_img"]) ? $params["evaluate_img"] : '';

        //数据验证
        $Validate = validate('Evaluate', 'validate');
        if( !$Validate -> scene('evaluate_add') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }
        //逻辑处理
        $list = controller('Evaluatelogic', 'logic') -> add($user_id, $goods_id, $score, $content, $uid, $evaluate_img, $order_id, $spbz_score, $qifw_score, $sku_id);
        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '新增成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 编辑
     * @param id 	                int     评论id
     * @param goods_id 	            int     商品id
     * @param score 		        float   评分
     * @param content 		        string  内容
     * @param uid 		            int     评论人id
     * @param create_time 		    string  创建时间
     * @param update_time 		    string  编辑时间
     * @param evaluate_imgs 		array  评论图片（数组，最多9张）
     * @author dou<51779987@qq.com>
     * @return json_out(code, message, (int)id)
     */
    public function edit(){
        //参数接收
        $params 		    = $this->getParams(1);//0 get 1 post
        $user_id    	    = intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $params["evaluate_imgs"] = ['0'=>'http:baidu1.com','1'=>'http:baidu2.com','2'=>'http:baidu3.com'];
        $id = $params["id"] = intval(isset($params["evaluate_id"]) ? $params["evaluate_id"] : 0);
        $goods_id    		= intval(isset($params["goods_id"]) ? $params["goods_id"] : 0);
        $score    		    = isset($params["score"]) ? $params["score"] : '';
        $content    		= isset($params["content"]) ? $params["content"] : '';
        $uid    	        = intval(isset($params["uid"]) ? $params["uid"] : '0');
        $evaluate_imgs    	= isset($params["evaluate_imgs"]) ? $params["evaluate_imgs"] : '';
		$spbz_score    		= isset($params["spbz_score"]) ? $params["spbz_score"] : '';
        $qifw_score    		= isset($params["qifw_score"]) ? $params["qifw_score"] : '';
        $sku_id    		= isset($params["sku_id"]) ? $params["sku_id"] : '';

        //数据验证
        $Validate = validate('Evaluate', 'validate');
        if( !$Validate -> scene('evaluate_edit') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Evaluatelogic', 'logic') -> edit($user_id, $id,$goods_id, $score, $content, $uid, $evaluate_imgs, $spbz_score, $qifw_score, $sku_id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '编辑成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 删除
     * @param int $id
     * @author dou<51779987@qq.com>
     * @return bool
     */
    public function delete(){
        //参数接收
        $params 		= $this->getParams(0);//0 get 1 post
        $user_id    	= intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id = $params["id"] = intval(isset($params["evaluate_id"]) ? $params["evaluate_id"] : 0);

        //数据验证
        $Validate = validate('Evaluate', 'validate');
        if( !$Validate -> scene('evaluate_delete') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Evaluatelogic', 'logic') -> delete($user_id, $id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '删除成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

    /**
     * 删除图片
     * @param int $id
     * @author dou<51779987@qq.com>
     * @return bool
     */
    public function deleteImg(){
        //参数接收
        $params 		    = $this->getParams(0);//0 get 1 post
        $user_id    	    = intval(isset($params["user_id"]) ? $params["user_id"] : 0);//操作用户ID
        $id = $params["id"] = intval(isset($params["evaluate_img_id"]) ? $params["evaluate_img_id"] : 0);

        //数据验证
        $Validate = validate('Evaluate', 'validate');
        if( !$Validate -> scene('evaluate_delete') -> check($params) ){
            json_out(-1001, $Validate -> getError());//验证失败
        }

        //逻辑处理
        $list = controller('Evaluatelogic', 'logic') -> deleteImg($user_id, $id);

        //数据返回
        if($list['code'] == 200){
            json_out($list['code'], '删除成功');
        }else{
            json_out($list['code'], $list['message']);
        }
    }

}